Try..except

Otázka od: Král Jirka

4. 9. 2002 14:24

>>Je to podobne jinemu typicky spatnemu prikladu na zjisteni zdali lze retezec
prevest >>na cislo:
>>
>>try
>> I := StrToInt(S);
>>except
>> I := 0;
>>end;
>>Petr Vones

A nasel by se na tohle i typicky spravny postup?

J.K.

Odpovedá: Petr Vones

4. 9. 2002 18:04

From: "Král Jirka" <admin@printo.cz>
> A nasel by se na tohle i typicky spravny postup?

Jiste, napriklad funkce StrToIntDef. Podivej se jak je implementovana a bude
to z toho myslim jasne.

Petr Vones

Odpovedá: ing. Jan Fiala

5. 9. 2002 3:19

4.9.2002 Král Jirka:
>>>Je to podobne jinemu typicky spatnemu prikladu na zjisteni zdali lze retezec
prevest >>na cislo:
>>>
>>>try
>>> I := StrToInt(S);
>>>except
>>> I := 0;
>>>end;
>>>Petr Vones

> A nasel by se na tohle i typicky spravny postup?

Tohle je vnitrek funkce StrToInt. Myslim, ze pro nazornost, jak to
udelat jinak ti to postaci.

function StrToInt(const S: string): Integer;
var
  E: Integer;
begin
  Val(S, Result, E);
  if E <> 0 then ConvertErrorFmt(@SInvalidInteger, [S]);
end;


--
ing. Jan Fiala
mailto:jan.fiala@iol.cz

Odpovedá: Pavel Gazda

5. 9. 2002 3:15

Ahoj,
zkus proceduru VAL

Pavel
>>Je to podobne jinemu typicky spatnemu prikladu na zjisteni zdali lze
retezec prevest >>na cislo:
>>
>>try
>> I := StrToInt(S);
>>except
>> I := 0;
>>end;
>>Petr Vones

A nasel by se na tohle i typicky spravny postup?

J.K.


Odpovedá: Daniel Frantik

5. 9. 2002 8:20

Tohle je jasne.
Ale existuje nejaky ekvivalent pro Float, Date, Time, DateTime?
Dival jsem se jak je implementovano StrToDateTime a tam je to celkem
slozitejsi  
Vyresil uz to nekdo jinak nez pres formalni kontrolu a pak try ... except
...end?

Danik


-----Original Message-----
> A nasel by se na tohle i typicky spravny postup?

Jiste, napriklad funkce StrToIntDef. Podivej se jak je implementovana a bude
to z toho myslim jasne.
Petr Vones

Odpovedá: Petr Vones

5. 9. 2002 13:24

From: "Daniel Frantik" <frantik@telpro.cz>
> Ale existuje nejaky ekvivalent pro Float, Date, Time, DateTime?

StrToFloatDef
StrToDateDef
StrToDateTimeDef
StrToTimeDef

Petr Vones

Odpovedá: Daniel Frantik

5. 9. 2002 21:13

Kde jsou? Nejak je nemuzu najit  
Samozejme jsem je hledal, ale nenasel.

Diky,
Danik
PS: zapomel jsem D5,IB,Oracle WinNT

> Ale existuje nejaky ekvivalent pro Float, Date, Time, DateTime?
StrToFloatDef
StrToDateDef
StrToDateTimeDef
StrToTimeDef

Petr Vones

Odpovedá: Daniel Rott

5. 9. 2002 19:47

> > Ale existuje nejaky ekvivalent pro Float, Date, Time, DateTime?

> StrToFloatDef
> StrToDateDef
> StrToDateTimeDef
> StrToTimeDef

V SysUtils take existuji uzitecne funkce
function TryStrToInt(const S: string; out Value: Integer): Boolean;
function TryStrToFloat(const S: string; out Value: Extended): Boolean;
... a dalsi
kupodivu vsak o nich nejsou zmineny v helpu

Daniel
-------------------------------------------------------
Scanning complete: NO intelligent life form in range.

Odpovedá: Petr Vones

5. 9. 2002 23:17

From: "Daniel Frantik" <frantik@telpro.cz>
> Kde jsou? Nejak je nemuzu najit  
> Samozejme jsem je hledal, ale nenasel.

Delphi 6+

Petr Vones

Odpovedá: Petr Vones

6. 9. 2002 8:55

From: "Daniel Rott" <roxton@seznam.cz>
> V SysUtils take existuji uzitecne funkce
> function TryStrToInt(const S: string; out Value: Integer): Boolean;
> function TryStrToFloat(const S: string; out Value: Extended): Boolean;
> ... a dalsi
> kupodivu vsak o nich nejsou zmineny v helpu

Ale jsou, akorat to chce mit updatovany help:
http://info.borland.com/techpubs/delphi/

Petr Vones

Odpovedá: bardon

7. 9. 2002 23:40

Obavam se, ze v D5 nic takoveho neni. Nebo se mylim?

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz]On
Behalf Of Petr Vones

StrToFloatDef
StrToDateDef
StrToDateTimeDef
StrToTimeDef

Odpovedá: bardon

7. 9. 2002 20:43

V D5 nejsou  

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz]On
Behalf Of Daniel Rott

V SysUtils take existuji uzitecne funkce
function TryStrToInt(const S: string; out Value: Integer): Boolean;
function TryStrToFloat(const S: string; out Value: Extended): Boolean;
... a dalsi
kupodivu vsak o nich nejsou zmineny v helpu


Odpovedá: Petr Vones

7. 9. 2002 23:30

From: "bardon" <bardon@akord-soft.cz>
> Obavam se, ze v D5 nic takoveho neni. Nebo se mylim?

Patrne ne.

Petr Vones